home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1995 October / Amiga-CD 1995 #10.iso / weitere_demos / adm / arexx / trapfax-export.adm < prev   
Text File  |  1995-06-04  |  2KB  |  123 lines

  1. /* $VER: TrapFax-Export.adm 1.1 (26.3.95)
  2.  
  3.    von Kai Bolay.
  4.  
  5.  
  6.    Erzeugt eine Telefonbuchdatei für das Programm "TrapFax" mit allen
  7.    Einträgen, die eine Faxnummer enthalten.
  8.  
  9.    Öffnet dazu einen Filerequester, in dem die zu schreibende TrapFax-
  10.    Datei ausgewählt werden muß.
  11.  
  12.  
  13.    1.0  [kaib]           - erstes Release
  14.    1.1  [jan]  26.3.95   - RexxReqTools-Filerequester zur Eingabe
  15.                            der Zieldatei
  16.                          - Berücksichtigung des Firmennamens
  17.                            bei entspr. Sortierung in ADM
  18.                          - Warnrequester bei schon vorhandener
  19.                            Datei.
  20.  
  21. */
  22.  
  23. OPTIONS RESULTS
  24.  
  25. SIGNAL ON BREAK_C
  26. SIGNAL ON BREAK_D
  27. SIGNAL ON BREAK_E
  28. SIGNAL ON BREAK_F
  29. SIGNAL ON ERROR
  30. SIGNAL ON HALT
  31. SIGNAL ON IOERR
  32. SIGNAL ON SYNTAX
  33.  
  34.  
  35. /* RexxReqTools-Library öffnen */
  36.  
  37. reqname = "rexxreqtools.library"
  38. if ~show("L", reqname) then
  39.   if ~addlib(reqname, 0, -30, 0) then do
  40.      say reqname "not found!"
  41.      EXIT
  42.   end
  43.  
  44.  
  45. /* Filename-Filerequester */
  46.  
  47. dir   = "work:TrapFax/"
  48. file  = "TrapFax.phone"
  49. title = "TrapFax-Telefonbuch speichern"
  50. ok    = "Speichern"
  51.  
  52. filename = rtfilerequest(dir,file,title,ok)
  53. if filename = "" then do
  54.   call rtezrequest("Keine Datei ausgewählt", "Abbruch")
  55.   EXIT
  56. end
  57.  
  58. IF EXISTS(filename) then do
  59.    if rtezrequest("Die Datei" filename "0A"x "existiert schon!",
  60.                ,"_Überschreiben|Abbru_ch") = 0 THEN EXIT
  61. end
  62.  
  63. /* Ausgabedatei öffnen     */
  64.  
  65.  
  66. IF ~OPEN(file,filename,"W") THEN DO
  67.    SAY "Kann Ausgabedatei nicht öffnen!"
  68.    EXIT
  69. END
  70.  
  71.  
  72. LOCKGUI
  73. ADDRINMEM
  74. numadr = RESULT
  75.  
  76. IF numadr<1 THEN DO
  77.    SAY "Keine Adressen im Speicher"
  78.    EXIT
  79. END
  80.  
  81. ACTIVATEFIRST
  82.  
  83. DO FOR numAdr UNTIL RESULT=-1
  84.  
  85.    GETADDRESS ADR
  86.  
  87.    IF RESULT=0 THEN DO
  88.       IF ADR.FAX ~= "" then do
  89.  
  90.         /* Name generieren nach Sortierung */
  91.         line = ""
  92.         IF ADR.SORT = "COMPANY" THEN
  93.            line = ADR.COMPANY || " "
  94.         ELSE line = STRIP(ADR.FIRSTNAME ADR.LASTNAME) || " "
  95.         line = line || "," || ADR.FAX
  96.  
  97.         ok = WriteLn(file,line)
  98.       END
  99.  
  100.       ACTIVATENEXT                   /* Akt. naechsten Eintrag */
  101.    END
  102. END
  103. ok = Close(file)
  104.  
  105. RC = 0
  106.  
  107. BREAK_C:
  108. BREAK_D:
  109. BREAK_E:
  110. BREAK_F:
  111. ERROR:
  112. HALT:
  113. IOERR:
  114. SYNTAX:
  115.  
  116. UNLOCKGUI
  117.  
  118. IF RC ~= 0 THEN DO
  119.   SAY "Error: " rc errortext(rc) "Line" sigl
  120. END
  121.  
  122. exit
  123.